﻿using vudu.ClasesDominio;
using vudu.Datos.SqlServer;
using System;
using System.Collections.Generic;
using NUnit.Framework;
using vudu.Logica.Fachada;

namespace vudu.Pruebas
{
    [TestFixture]
    public class PruebaEstudiante
    {

        [Test]
        public void PruebaAgregarEstudiante()
        {
            Estudiante est = new Estudiante();
            est.Nombre = "Paul";
            est.Apellido = "Rodriguez";
            est.Sexo = "Masculino";
            est.Cedula = 19087987;
            est.Expediente = "222";                
            string fechanac = "1980-10-10";
            DateTime Nacimiento = Convert.ToDateTime(fechanac);
            est.FechaNacimiento =  Nacimiento;
            est.Correo = "correoprueba@gmail.com";
            est.Telefono = "(0212) 2321344";
            est.nacionalidad = "V";
            Escuela miEscuela = new Escuela();
            miEscuela.IdEscuela = 1;

            EnlaceLogico fachada = new EnlaceLogico();
            bool respuesta = fachada.AgregarEstudianteEnSistema(est.Nombre, est.Apellido, est.Sexo, est.Cedula, est.Expediente,
                        est.FechaNacimiento, est.Correo, est.Telefono, est.nacionalidad, miEscuela.IdEscuela);
            Assert.IsNotNull(est);
            Assert.IsNotNull(miEscuela);
            Assert.IsNotNull(fachada);
            Assert.IsTrue(respuesta);

        }

        [Test]
        public void PruebaConsultarEstudianteExpediente()
        {
            int expediente = 222;
            Escuela miEscuela = new Escuela();
            miEscuela.IdEscuela = 1;
            EnlaceLogico fachada = new EnlaceLogico();
            Estudiante miEstudiante = fachada.BuscarEstudianteExpediente(expediente, miEscuela.IdEscuela);
            Estudiante auxEstudiante = new Estudiante();
            auxEstudiante.Nombre = "Paul";
            auxEstudiante.Apellido = "Rodriguez";
            Assert.IsNotNull(fachada);
            Assert.IsNotNull(miEstudiante);
            Assert.IsNotNull(auxEstudiante);
            Assert.AreEqual(auxEstudiante.Nombre, miEstudiante.Nombre);
            Assert.AreEqual(auxEstudiante.Apellido, miEstudiante.Apellido);
            Assert.AreEqual("222", miEstudiante.Expediente);

        }

        [Test]
        public void PruebaConsultarEstudianteCedula()
        {

            int cedula = 19087987;
            Escuela miEscuela = new Escuela();
            miEscuela.IdEscuela = 1;
            EnlaceLogico fachada = new EnlaceLogico();
            Estudiante auxEstudiante = new Estudiante();
            auxEstudiante.Cedula = cedula;
            Estudiante miEstudiante = fachada.BuscarEstudianteCedula(cedula, miEscuela.IdEscuela);           
            auxEstudiante.Nombre = "Paul";
            auxEstudiante.Apellido = "Rodriguez";
            Assert.IsNotNull(fachada);  
            Assert.IsNotNull(miEstudiante);
            Assert.IsNotNull(auxEstudiante);
            Assert.AreEqual(auxEstudiante.Nombre, miEstudiante.Nombre);
            Assert.AreEqual(auxEstudiante.Apellido, miEstudiante.Apellido);
            Assert.AreEqual(auxEstudiante.Cedula, miEstudiante.Cedula);
        }
    }
}